package com.hshh.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hshh.dao.LoginDAO;
import com.hshh.service.LoginService;

@Service
public class LoginServiceImpl extends CommonServiceImpl implements LoginService {

	@Autowired
	private LoginDAO loginDAO;

	/**
	 * 로그인 인증체크
	 * @param param : 로그인정보
	 * @return		: 사용자 계정 정보
	 * @refer		: result(true/false) - 로그인 성공여부
	 * 				: errType	- plural_account[복수계정 존재로 인한 로그인 불가]
	 * 				:			- notfound_account[계정 없음]
	 * 				:			- difference_passwd[비밀번호 오류]
	 */
	@Override
	public Map<String, Object> getAuth(Map<String, Object> param) {
		// TODO Auto-generated method stub
		List<Map<String, Object>> result = loginDAO.getAuth(param);
		//계정 없음
		if(result == null || result.size() == 0){
			Map<String, Object> errResult = new HashMap<String, Object>();
			errResult.put("result", false);
			errResult.put("errType", "notfound_account");
			return  errResult;
		}
		//복수계정 존재로 인한 로그인 불가
		else if(result.size() > 1){
			Map<String, Object> errResult = new HashMap<String, Object>();
			errResult.put("result", false);
			errResult.put("errType", "plural_account");
			return  errResult;
		}
		else{
			//로그인 성공
			if (param.get("id").toString().equals(result.get(0).get("user_id"))
					&& param.get("pwd").toString().equals(result.get(0).get("user_pwd"))) {
				result.get(0).put("result", true);
				return result.get(0);
			}
			//비밀번호 오류
			else if(param.get("id").toString().equals(result.get(0).get("user_id"))){
				Map<String, Object> errResult = new HashMap<String, Object>();
				errResult.put("result", false);
				errResult.put("errType", "difference_passwd");
				return errResult;
			}
			else{
				return null;
			}
		}
	}
}